package com.cyan.note.mapper;

import com.cyan.note.entity.OrderLog;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 订单日志Mapper接口
 * 
 * @author ZhangzhenYu
 * @since 2025-01-15
 */
@Mapper
public interface OrderLogMapper {

    /**
     * 根据ID查询
     */
    OrderLog selectById(@Param("id") Long id);

    /**
     * 插入订单日志
     */
    int insert(OrderLog orderLog);

    /**
     * 更新订单日志
     */
    int updateById(OrderLog orderLog);

    /**
     * 删除订单日志
     */
    int deleteById(@Param("id") Long id);

    /**
     * 根据订单ID查询日志列表
     */
    List<OrderLog> selectByOrderId(@Param("orderId") Long orderId);

    /**
     * 根据操作员ID查询日志列表
     */
    List<OrderLog> selectByOperatorId(@Param("operatorId") Long operatorId);

    /**
     * 分页查询订单日志
     */
    List<OrderLog> selectByCondition(@Param("params") java.util.Map<String, Object> params);

    /**
     * 统计订单日志数量
     */
    Long countByCondition(@Param("params") java.util.Map<String, Object> params);
}